home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- '''inevow.IQ adapter implementations.
- '''
- import twisted.python.components as tpc
- from nevow import inevow, stan
- from zope.interface import implements
-
- class QueryContext(tpc.Adapter):
- implements(inevow.IQ)
-
- def _locatePatterns(self, pattern, default, loop = True):
- if self.original.tag.pattern == pattern:
- yield self.original.tag.clone(deep = False, clearPattern = True)
-
- for node in stan._locatePatterns(self.original.tag, pattern, default):
- yield node
-
-
-
- def patternGenerator(self, pattern, default = None):
- return stan.PatternTag(self._locatePatterns(pattern, default))
-
-
- def allPatterns(self, pattern):
- if self.original.tag.pattern == pattern:
- yield self.original.tag
-
- for pat in self.original.tag.allPatterns(pattern):
- yield pat
-
-
-
- def onePattern(self, pattern):
- return self.original.tag.onePattern(pattern)
-
-
-
- class QueryList(tpc.Adapter):
-
- def _locatePatterns(self, pattern, default, loop = True):
- produced = []
- for item in self.original:
-
- try:
- for x in inevow.IQ(item)._locatePatterns(pattern, None, loop = False):
- produced.append(x)
- yield x.clone(deep = False, clearPattern = True)
- continue
- except stan.NodeNotFound:
- continue
- continue
-
-
-
- if default is None:
- raise stan.NodeNotFound, ('pattern', pattern)
- default is None
- if hasattr(default, 'clone'):
- while True:
- yield default.clone(deep = False)
- None if produced else None<EXCEPTION MATCH>stan.NodeNotFound
- else:
- while True:
- yield default
- None if produced else None<EXCEPTION MATCH>stan.NodeNotFound
-
-
- def patternGenerator(self, pattern, default = None):
- return stan.PatternTag(self._locatePatterns(pattern, default))
-
-
- def allPatterns(self, pattern):
- for item in self.original:
- for pat in inevow.IQ(item).allPatterns(pattern):
- yield pat
-
-
-
-
- def onePattern(self, pattern):
- node = None
- for item in self.original:
-
- try:
- newNode = inevow.IQ(item).onePattern(pattern)
- except stan.NodeNotFound:
- continue
- continue
-
- if node is None:
- node = newNode
- continue
- raise stan.TooManyNodes('pattern', pattern)
-
- if node is None:
- raise stan.NodeNotFound('pattern', pattern)
- node is None
- return node
-
-
-
- class QuerySlot(QueryList):
-
- def __init__(self, original):
- QueryList.__init__(self, original.children)
-
-
-
- class QueryNeverFind(tpc.Adapter):
-
- def patternGenerator(self, pattern, default = None):
- raise stan.NodeNotFound, ('pattern', pattern)
-
-
- def allPatterns(self, pattern):
- return []
-
-
- def onePattern(self, pattern):
- raise stan.NodeNotFound, ('pattern', pattern)
-
-
- def _locatePatterns(self, pattern, default, loop = True):
- return []
-
-
-
- class QueryLoader(tpc.Adapter):
-
- def patternGenerator(self, pattern, default = None):
- return inevow.IQ(self.original.load()).patternGenerator(pattern, default)
-
-
- def allPatterns(self, pattern):
- return inevow.IQ(self.original.load()).allPatterns(pattern)
-
-
- def onePattern(self, pattern):
- return inevow.IQ(self.original.load()).onePattern(pattern)
-
-
-